//
//  ZYXTabBarController.m
//  Lottery
//  自定义TabBarController 应用的根控制器
//

#import "ZYXTabBarController.h"
#import "ZYXTabBar.h"               //引入自定义的TabBar控件

/**
 *  遵守 ZYXTabBarDelegate 协议
 *  实现协议的 -(void)tabBar:(ZYXTabBar *)tabBar didSelectButtonFrom:(int)from To:(int)to 方法完成导航子控制器的切换
 */
@interface ZYXTabBarController () <ZYXTabBarDelegate>

@end

@implementation ZYXTabBarController



/**
 *  应用启动初始化页面展示
 */
-(void)viewDidLoad
{
    [super viewDidLoad];
    
    //1.移除UITabBarController的tabBar属性对象
    //[self.tabBar removeFromSuperview];
    
    //2.把自定义的ZYXTabBar控件添加到ZYXTabBarController的view底部(原系统自带tabBar的位置)
    //UIView *myTabBar = [[UIView alloc] init];
    ZYXTabBar *myTabBar = [[ZYXTabBar alloc] init];
    myTabBar.backgroundColor = [UIColor grayColor];
    //myTabBar.frame = self.tabBar.frame;
    myTabBar.frame = self.tabBar.bounds;
    myTabBar.delegate = self;   //设置myTabBar控件的代理是ZYXTabBarController对象本身，实现导航子控制器的切换
    //[self.view addSubview:myTabBar];
    [self.tabBar addSubview:myTabBar];
    
    //TODO 将系统自带tabBar控件上的5个系统按钮移除 优化内存资源
    
    //根控制器添加导航控制器切换按钮
    for (int i=0; i<self.viewControllers.count; i++) {
        NSString *imageName = [NSString stringWithFormat:@"TabBar%d",i+1];
        NSString *selectedImageName = [NSString stringWithFormat:@"TabBar%dSel",i+1];
        [myTabBar addTabBarButtonWithImageName:imageName SelectedImageName:selectedImageName];
    }
    
        
}

/**
 *  实现导航子控制器的切换
 *
 *  @param tabBar 自定义的myTabBar控件
 *  @param from   自定义的myTabBar控件 当前选中状态的ZYXTabBarButton按钮
 *  @param to     自定义的myTabBar控件 现在用户点击的ZYXTabBarButton按钮
 */
-(void)tabBar:(ZYXTabBar *)tabBar didSelectButtonFrom:(int)from To:(int)to
{
    self.selectedIndex = to;
}


@end
